<Schema name="FDTCANopenChannelParameterSchema" xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes" xmlns:fdt="x-schema:FDTDataTypesSchema.xml" xmlns:appId="x-schema:FDTApplicationIdSchema.xml">
	<!--Definition of Attributes-->
	<AttributeType name="schemaVersion" dt:type="number" default="0.90"/>
	<AttributeType name="bitLength" dt:type="ui4"/>
	<AttributeType name="bitOffset" dt:type="ui4"/> 
	<AttributeType name="frameApplicationTag" dt:type="string"/>
	<AttributeType name="protectedByChannelAssignment" dt:type="boolean"/>
	<AttributeType name="cobId" dt:type="ui4"/>
	<!--All elements of the enumeration represent data types specified in IEC 61131-3 -->
	<AttributeType name="iecDataType"  dt:type = "enumeration" dt:values = "BOOL SINT INT DINT LINT USINT UINT UDINT ULINT REAL LREAL TIME DATE TimeOfDay DateAndTime STRING BYTE WORD DWORD LWORD WSTRING"/>
	<AttributeType name="index" dt:type="ui2"/>
	<AttributeType name="subIndex" dt:type="ui1"/>

	<!-- Element PDOAddress -->
	<ElementType name="PDOAddress" content="empty" model="closed">
		<attribute type="cobId" required="yes"/>
		<attribute type="bitOffset" required="yes"/>
	</ElementType>

	<!-- Element SDOAddress -->
	<ElementType name="SDOAddress" content="empty" model="closed">
		<attribute type="index" required="yes"/>
		<attribute type="subIndex" required="yes"/>
		<attribute type="bitOffset" required="yes"/>
	</ElementType>

	<!-- Element Channel --> 
	<ElementType name="FDTChannel" content="eltOnly" model="closed" order="seq">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="fdt:tag" required="yes"/>
		<attribute type="fdt:id" required="yes"/> 
		<attribute type="fdt:descriptor" required="no"/>
		<attribute type="protectedByChannelAssignment" required="yes"/>
		<attribute type="fdt:dataType" required="yes"/>   
		<attribute type="fdt:signalType" required="yes"/>
		<attribute type="frameApplicationTag" required="no"/>
		<!-- CAN specific identifier for IO data and parameter data -->
		<attribute type="bitLength" required="yes"/>
		<element type="PDOAddress" minOccurs="0" maxOccurs="1"/>
		<element type="SDOAddress" minOccurs="0" maxOccurs="1"/>
		<attribute type = "iecDataType" required="yes"/>
		<attribute type="appId:applicationId" required="no"/>     		
		<element type="fdt:SemanticInformation" minOccurs="0" maxOccurs="*"/>
		<element type="fdt:BitEnumeratorEntries" minOccurs="0" maxOccurs="1"/>
		<element type="fdt:EnumeratorEntries" minOccurs="0" maxOccurs="1"/>
		<element type="fdt:Unit" minOccurs="0" maxOccurs="1"/>
		<element type="fdt:Alarms" minOccurs="0" maxOccurs="1"/> 
		<element type="fdt:Ranges" minOccurs="0" maxOccurs="1"/> 
		<element type="fdt:SubstituteValue" minOccurs="0" maxOccurs="1"/> 
		<element type="fdt:Deadband" minOccurs="0" maxOccurs="1"/>
		<!-- should be used if data type is structured -->
		<element type="fdt:StructuredElements" minOccurs="0" maxOccurs="1"/>
	</ElementType>

	<!-- Element ChannelType --> 
	<ElementType name="FDTChannelType" content="eltOnly" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<element type="fdt:VersionInformation" minOccurs="1" maxOccurs="1"/>
	</ElementType>

	<!-- Root Element --> 
	<ElementType name="FDT" content="eltOnly" model="closed">
		<attribute type="schemaVersion" required="no"/>
		<attribute type="fdt:nodeId" required="no"/>
		<element type="FDTChannelType" minOccurs="1" maxOccurs="1"/>
		<element type="FDTChannel" minOccurs="1" maxOccurs="1"/>
	</ElementType>
</Schema>